package com.sh.ssao.lottery.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 *
 * 全局变量
 * HandlerInterceptor实现该接口需要同时实现其中三个方法。
 * HandlerInterceptorAdapter继承该接口可以重写其中一个或多个方法。
 *
 * preHandler最先执行 postHandler随后执行,preHandler返回false不会执行，afterCompletion最后执行，即使preHandler返回false也会执行。
 *
 * */


@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {

    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedHeaders("*").allowedMethods("*").maxAge(1800).allowedOrigins("*");
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        /**
         * 登录验证
         */
        registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
                .excludePathPatterns(
                        "/reg",
                        "/user/login",
                        "/login",
                        "/login1",
                        "/X-admin-v2.2/**",
                        "/login.js"
                        );
    }
}
